home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / ffccflow / ffccflow.lha / ffccc+flow / flow / flow.helpcms < prev    next >
Text File  |  1992-07-31  |  5KB  |  117 lines

  1. .cm CAT:CMS
  2. .cm NAM:FLOW
  3. .cm EXP: Fortran Code Structure Analyser
  4. .cm DAT: 92.15.07
  5. .cm A/R: J.J.Bunn
  6. .cm KEY: FLOPPY FORTRAN STRUCTURE CHART STRUCTURE_CHART
  7. .cm KEY: SC SASD FLOP CODE
  8. .cm ABS: A program which allows the user to plot the subroutine
  9. .cm ABS: calling tree of a Fortran program passed through FLOPPY.
  10. .cm ABS: The calling tree may also be explored interactively.
  11. .cm ABS: Other options include the production of a table
  12. .cm ABS: of COMMON block names and the routines in which
  13. .cm ABS: each is used.
  14. .cm FLG: LOCAL
  15. .cm END:
  16.  
  17.  
  18. FLOW  (Structure Analysers)
  19.  
  20. Users are referred to the FLOPPY writeup (DD/US/112) available in the UCO
  21. for full details of the use of FLOW.
  22.  
  23. FLOW is used to produce subroutine calling trees, COMMON block usage
  24. tables, and to interactively explore subroutine calling trees.
  25. It is used after a FORTRAN program has been passed through FLOPPY.
  26. Various options are available, including suppression of external
  27. module names from the produced tree, and specification of the top
  28. node module name.
  29. Graphics output is in the form of a file of PostScript.
  30. This graphics output is intended to represent the SASD Structure
  31. Chart corresponding to the source FORTRAN, and, as such, may be used
  32. as a "backward engineering" tool.
  33.  
  34. Note: You need at least a 12 M machine to run FLOW.
  35.  
  36. FLOW is invoked via a panel or from the command line as follows:
  37.  
  38. +--------+--------------------------------------------------------------+
  39. |        |                                                              |
  40. | FLOW   | [ ? | [fn [ft [fm]]]  [( Options ]]                          |
  41. |        |                                                              |
  42. |        | Options:                                                     |
  43. |        |                                                              |
  44. |        | [QUERY]                                                      |
  45. |        | [EXTERNALS]                                                  |
  46. |        | [STRUCTURE_CHART   fn [ft [fm]]]                             |
  47. |        | [GRAPHICS          fn [ft [fm]]]                             |
  48. |        | [NODE              nodename]                                 |
  49. |        | [COMMON_TABLE      fn [ft [fm]]]                             |
  50. +--------+--------------------------------------------------------------+
  51.  
  52. where:
  53.  
  54.           When FLOW is entered without any operands or options,
  55.           a panel will be displayed in which details of the FLOW
  56.           job may be entered.
  57.  
  58. ?         If this is the only operand this HELP file will be displayed.
  59.  
  60. fn ft fm
  61.           Specifies the name of a binary file produced using the
  62.           TREE option in FLOPPY.
  63.  
  64. QUERY     Enter the interactive exploration facility of FLOW !
  65.           You will be shown the full list of module names in the
  66.           source, and can then specify one of them to see which
  67.           modules it calls, and which modules call it. In this
  68.           way you can move freely around the tree.
  69.  
  70. STRUCTURE_CHART    fn ft fm
  71.           Specifies that a text file be written containing the
  72.           calling tree of the source FORTRAN. The tree shows modules
  73.           local to the code and external, and indicates whether they
  74.           appear in IF or DO clauses. Stub modules (no calls), external
  75.           modules (not local), multiply-called modules and sub-trees
  76.           are all clearly indicated. If the FORTRAN source contained
  77.           lines after each module declaration of the form:
  78.           C! This is a short comment
  79.           then these comments are shown against each module name in the
  80.           tree.
  81.  
  82. GRAPHICS  fn ft fm
  83.           Specifies that a graphics metafile (either GKS or PostScript)
  84.           be written, which, when interpreted, will show the SASD-like
  85.           structure chart of the source FORTRAN. It is recommended
  86.           NOT to ask for EXTERNALS with this option. An attempt
  87.           is made to optimize the positions of modules on the page,
  88.           in order to minimise line crossings etc.. But this is often
  89.           unsuccessful!
  90.  
  91. NODE      nodename
  92.           Specifies the top node in either the text or graphics
  93.           structure chart. This is useful for restricting the output
  94.           to a particular sub-tree of interest. The value nodename
  95.           must be a PROGRAM, SUBROUTINE or FUNCTION name in the
  96.           source FORTRAN.
  97.  
  98. EXTERNALS Specifies that modules external to the source FORTRAN
  99.           (e.g. SIN, COS, UCOPY, HBOOK1 etc.) be shown in the tree.
  100.  
  101. COMMON_TABLE    fn ft fm
  102.           Specifies that a table be written containing, on the y-axis
  103.           the names of all COMMON blocks, and on the x-axis all the
  104.           module names, contained in the source FORTRAN. At each
  105.           place in the table a 'Y' indicates that the COMMON block
  106.           appears in that module, and at least one variable from it
  107.           is used in the module, a 'N' indicates that the COMMON
  108.           block is declared but not used, and a blank indicates that
  109.           the COMMON block is not declared in that module.
  110.  
  111. Example
  112.           To interactively explore the calling tree of your program
  113.           MCARLO FORTRAN, use the following two commands:
  114.  
  115.           FLOPPY MCARLO (CHECKS NONE TREE DISK
  116.           FLOW MCARLO (QUERY
  117.